-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Ask User for call quality feedback [WPB-9452] #2966
Conversation
Bencher
Click to view all benchmark results
Bencher - Continuous Benchmarking View Public Perf Page Docs | Repo | Chat | Help |
Datadog ReportBranch report: ✅ 0 Failed, 3067 Passed, 105 Skipped, 10.36s Total Time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Just have a tiny question just to make sure I understood whats expected, but approved nonetheless 👌🏻
override suspend fun invoke(): Boolean = | ||
userConfigRepository.getNextTimeForCallFeedback().map { | ||
it > 0L && DateTimeUtil.currentInstant() > Instant.fromEpochMilliseconds(it) | ||
}.getOrElse(true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the .getOrElse(true)
will mean that the first call of a fresh logged in user will display the feedback right?
sealed class EndCallResult { | ||
data object VerificationDegraded : EndCallResult() | ||
data class AskForFeedback(val shouldAsk: Boolean) : EndCallResult() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a small naming convention nitpick. great work 🚀
@@ -46,6 +47,8 @@ interface EndCallUseCase { | |||
internal class EndCallUseCaseImpl( | |||
private val callManager: Lazy<CallManager>, | |||
private val callRepository: CallRepository, | |||
private val endCallListener: EndCallResultListener, | |||
private val shouldAskCallFeedbackUseCase: ShouldAskCallFeedbackUseCase, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
private val shouldAskCallFeedbackUseCase: ShouldAskCallFeedbackUseCase, | |
private val shouldAskCallFeedback: ShouldAskCallFeedbackUseCase, |
Quality Gate passedIssues Measures |
* feat: Ask User for Call quality feedback * Code-style fix * Review fixes
What's new in this PR?
Issues
Every at least 3 days, when user ended a call we want to ask Call Quality feedback.
Causes (Optional)
There is a task saying so.
Solutions
Implement it, by adding
ShouldAskCallFeedbackUseCase
which will be called on every call ending and if user should asked for feedback kalium will call updatedEndCallResultListener
And new
ObserveAskCallFeedbackUseCase
which observes flowEndCallResultListener
for corresponding result when user should or should not be asked for feedback.Not related changes:
while updating tests I noticed that we have 2
CallRepositoryArrangement
, one inarrangement.repository
one inarrangement
package. So i merge them into one.